﻿using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace JNPF.Basics.Models
{
    /// <summary>
    /// 可视化开发功能实体
    /// 版 本：V3.0.0
    /// 版 权：引迈信息技术有限公司（https://www.jnpfsoft.com）
    /// 作 者：JNPF开发平台组
    /// 日 期：2020-10-28 
    /// </summary>
    [Table("BASE_VISUALDEV")]
    public class VisualDevEntity
    {
        /// <summary>
        /// 主键ID
        /// </summary>
        [Key]
        [Column("F_ID")]
        public string Id { get; set; }

        /// <summary>
        /// 名称
        /// </summary>
        [Column("F_FULLNAME")]
        public string FullName { get; set; }

        /// <summary>
        /// 编码
        /// </summary>
        [Column("F_ENCODE")]
        public string EnCode { get; set; }

        /// <summary>
        /// 状态(0-暂存（默认），1-发布)
        /// </summary>
        [Column("F_STATE")]
        public int? State { get; set; } = 0;

        /// <summary>
        /// 类型
        /// 1-Web设计,2-App设计,3-流程表单,4-Web表单,5-App表单
        /// </summary>
        [Column("F_TYPE")]
        public int? Type { get; set; }

        /// <summary>
        /// 关联的表
        /// </summary>
        [Column("F_TABLE")]
        public string Tables { get; set; }

        /// <summary>
        /// 分类
        /// </summary>
        [Column("F_CATEGORY")]
        public string Category { get; set; }

        /// <summary>
        /// 表单配置JSON
        /// </summary>
        [Column("F_FORMDATA")]
        public string FormData { get; set; }

        /// <summary>
        /// 列表配置JSON
        /// </summary>
        [Column("F_COLUMNDATA")]
        public string ColumnData { get; set; }

        /// <summary>
        /// 排序码(默认0)
        /// </summary>
        [Column("F_SORTCODE")]
        public long? SortCode { get; set; }

        /// <summary>
        /// 有效标志(默认1)
        /// </summary>
        [Column("F_ENABLEDMARK")]
        public int? EnabledMark { get; set; }

        /// <summary>
        /// 描述或说明
        /// </summary>
        [Column("F_DESCRIPTION")]
        public string Description { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [Column("F_CREATORTIME")]
        public DateTime? CreatorTime { get; set; }

        /// <summary>
        /// 创建用户id
        /// </summary>
        [Column("F_CREATORUSERID")]
        public string CreatorUserId { get; set; }

        /// <summary>
        /// 修改时间
        /// </summary>
        [Column("F_LASTMODIFYTIME")]
        public DateTime? LastModifyTime { get; set; }

        /// <summary>
        /// 修改用户id
        /// </summary>
        [Column("F_LASTMODIFYUSERID")]
        public string LastModifyUserId { get; set; }

        /// <summary>
        /// 删除标志(默认0)
        /// </summary>
        [Column("F_DELETEMARK")]
        public int? DeleteMark { get; set; } = 0;

        /// <summary>
        /// 删除时间
        /// </summary>
        [Column("F_DELETETIME")]
        public DateTime? DeleteTime { get; set; }

        /// <summary>
        /// 删除用户id
        /// </summary>
        [Column("F_DELETEUSERID")]
        public string DeleteUserId { get; set; }
    }
}
